#ifndef RUNCONFIG_H
#define RUNCONFIG_H

#include <QString>
#include <iostream>
#include <string>
#include <fstream>
#include "nlohmann/json.hpp" //nlohmann json库


//软件运行配置获取
class RunConfig
{
private:
    nlohmann::json configJson; // JSON 对象存储配置数据
public:
    RunConfig(const std::string& filePath);
    ~RunConfig();

    bool loadConfig(const std::string& filePath);//加载配置文件
    void printfConfig(void);//打印配置
    std::string getString(const std::string& key, const std::string& defaultValue = "") const;// 获取字符串参数
    QString getQString(const std::string& key, const std::string& defaultValue = "") const;
    int getInt(const std::string& key, int defaultValue = 0) const;// 获取整数参数
    bool getBool(const std::string& key, bool defaultValue = false) const;// 获取布尔参数
    double getDouble(const std::string& key, double defaultValue = 0.0) const;// 获取浮点数参数
};

#endif
